package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 商品管理对象 tb_product
 * 
 * @author hyx
 * @date 2025-02-06
 */
public class CwProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品 ID */
    private Long productId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 商品分类 ID */
    @Excel(name = "商品分类 ID")
    private Long productCategoryId;

    /** 品牌 ID */
    @Excel(name = "品牌 ID")
    private Long productBrandId;

    /** 商品详情 */
    @Excel(name = "商品详情")
    private String productDetails;

    /** 商品图片路径 */
    @Excel(name = "商品图片路径")
    private String productImagePath;

    /** 库存数量 */
    @Excel(name = "库存数量")
    private Long stockQuantity;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal price;

    /** 上架时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上架时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date onShelfTime;

    /** 是否上架 */
    @Excel(name = "是否上架")
    private Integer isOnShelf;

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setProductCategoryId(Long productCategoryId) 
    {
        this.productCategoryId = productCategoryId;
    }

    public Long getProductCategoryId() 
    {
        return productCategoryId;
    }
    public void setProductBrandId(Long productBrandId) 
    {
        this.productBrandId = productBrandId;
    }

    public Long getProductBrandId() 
    {
        return productBrandId;
    }
    public void setProductDetails(String productDetails) 
    {
        this.productDetails = productDetails;
    }

    public String getProductDetails() 
    {
        return productDetails;
    }
    public void setProductImagePath(String productImagePath) 
    {
        this.productImagePath = productImagePath;
    }

    public String getProductImagePath() 
    {
        return productImagePath;
    }
    public void setStockQuantity(Long stockQuantity) 
    {
        this.stockQuantity = stockQuantity;
    }

    public Long getStockQuantity() 
    {
        return stockQuantity;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setOnShelfTime(Date onShelfTime) 
    {
        this.onShelfTime = onShelfTime;
    }

    public Date getOnShelfTime() 
    {
        return onShelfTime;
    }
    public void setIsOnShelf(Integer isOnShelf) 
    {
        this.isOnShelf = isOnShelf;
    }

    public Integer getIsOnShelf() 
    {
        return isOnShelf;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("productId", getProductId())
            .append("productName", getProductName())
            .append("productCategoryId", getProductCategoryId())
            .append("productBrandId", getProductBrandId())
            .append("productDetails", getProductDetails())
            .append("productImagePath", getProductImagePath())
            .append("stockQuantity", getStockQuantity())
            .append("price", getPrice())
            .append("onShelfTime", getOnShelfTime())
            .append("isOnShelf", getIsOnShelf())
            .toString();
    }
}
